/**
 * @Descript: js类库
 * @Author hedongwu
 */
var Scrum = window.Scrum || {};
var is_addsprint_click = false;
Scrum = (function(){
	function _ScrumInit() {
		//textarea resizer
		$('textarea.resizable:not(.processed)').TextAreaResizer();
		$('textarea.task_edit_resizable:not(.processed)').TextAreaResizer();

		$('#J_taskBgColor span').click(function(){
			$('#J_taskNew').attr("class","task task-new "+$(this).attr("class"));
			$('#task_color').val($(this).attr("class"));
		});
		//更改背景
		$('.J_subTaskBgcolor span').click(function(){
			$(this).parent().parent().parent(".J_subTask").attr("class","task task-with-actions J_subTask "+$(this).attr("class"));
			var task_id = $(this).parent().parent().parent(".J_subTask").attr("id");
			var task_bgcolor = $(this).attr("class");
			var _this = this;
	        $.post("/web/scrum/edittask",{task_id:task_id,task_bgcolor:task_bgcolor},function(data){
				if (data.status == 1){
					$(_this).parent().parent(".J_subTaskAction").addClass("d-hidden");
				}else{
				}
	        },"json");
		});

		//显示添加新冲刺
		var is_addsprint_click = false;
		$(".J_addSprint").click(function(){
			is_addsprint_click = true;
			if ($(".J_addSprintDiv").hasClass("d-hidden")){
				$(".J_addSprintDiv").removeClass("d-hidden");
			}else{
				$(".J_addSprintDiv").addClass("d-hidden");
			}
		});
		$(".J_addSprintDiv").live("mouseout",function(){
			is_addsprint_click = true;
		});
		$(".J_addSprint").live("mouseout",function(){
			is_addsprint_click = false;
		});
		$(".J_sprint_new_cancel").click(function(event){
			event.stopPropagation();
			$(this).parent().parent(".J_addSprintDiv").addClass("d-hidden");
		});
		//添加新冲刺 操作
		$(".J_sprint_new_save").click(function(){
			var sprint_name = $("#sprint_name").val();
			if (sprint_name == ''){
				return false;
			}
	        $.post("/web/scrum/addSprint",{sprint_name:sprint_name},function(data){
				if (data.status == 1){
					oprationMsg();
					window.location.href="/web/scrum/index?sid="+data.sid;
				}else{
				}
	        },"json");
		});
		//删除冲刺
		$(".J_sprintName").hover(
			function() {
				$(".J_delSprint").removeClass("d-hidden");
			}, function() {
				$(".J_delSprint").addClass("d-hidden");
			}
		);
		$(".J_delSprintAction").click(function(){
			if (confirm("确定删除吗？")){
				var sid = $(this).attr("id");
				if (sid == ''){
					return false;
				}
		        $.post("/web/scrum/delSprint",{sid:sid},function(data){
					if (data.status == 1){
						oprationMsg();
						window.location.href="/web/scrum/index";
					}else{
					}
		        },"json");
		  	}
		});
		//编辑冲刺名称
		$(".J_sprintdblClick").dblclick(function(){
			$(this).parent(".J_sprintName").addClass("d-hidden");
			$(".J_editSprintAction").removeClass("d-hidden");
			$("#sprint_name_edit").focus();
		});
		$("#sprint_name_cancel").click(function(){
			$(".J_sprintName").removeClass("d-hidden");
			$(".J_editSprintAction").addClass("d-hidden");
			$("#sprint_name_edit").val($(".J_sprintdblClick p").html());
		});
		$("#sprint_name_save").click(function(){
			var new_name = $("#sprint_name_edit").val();
			var sid = $(this).attr("data-value");
	        $.post("/web/scrum/editSprint",{new_name:new_name,sid:sid},function(data){
				if (data.status == 1){
					oprationMsg();
					window.location.href="/web/scrum/index?sid="+sid;
				}else{
				}
	        },"json");
		});
		//添加新任务
		$("#save_task").click(function(){
			var task_name = $("#task_name").val();
			var task_sid = $("#task_sid").val();
			var task_color = $("#task_color").val();
			if (task_name == ''){
				return false;
			}
	        $.post("/web/scrum/addtask",{task_name:task_name,task_sid:task_sid,task_color:task_color},function(data){
				if (data.status == 1){
					oprationMsg();
                    location.reload();
                }else{
				}
	        },"json");
		});
		//取消添加
		$("#cancle_task").click(function(){
			$("#task_name").val("");
		});

		//每个任务设置
		$('.J_taskSetting').click(function(){
			if ($(this).parent().next('.J_subTaskAction').hasClass("d-hidden")){
				$(this).parent().next('.J_subTaskAction').removeClass("d-hidden");
			}else{
				$(this).parent().next('.J_subTaskAction').addClass("d-hidden");
			}
		});
		//显示编辑任务
		$(".J_dblEditTask").dblclick(function(){
			$(this).addClass("d-hidden");
			$(this).next(".J_editTaskDiv").removeClass("d-hidden");
		});
		//编辑任务
		$(".J_editDoTask").click(function(){
			var task_name = $(this).parents(".J_editTaskDiv").find(".J_subTaskName").val();
			var task_id = $(this).attr("data-value");
			var _this = this;
	        $.post("/web/scrum/ediTaskName",{task_id:task_id,task_name:task_name},function(data){
				if (data.status == 1){
					$(_this).parents(".J_editTaskDiv").addClass("d-hidden");
					$(_this).parent().parent().prev("span").children("p").html(task_name);
					$(_this).parent().parent().prev("span").removeClass("d-hidden");
					oprationMsg();
					location.reload();
				}else{
				}
	        },"json");
		});
		//取消编辑
		$(".J_cancelTaskEdit").click(function(){
			$(this).parents(".J_editTaskDiv").addClass("d-hidden");
			$(this).parent().parent().prev("span").removeClass("d-hidden");
			var sourc_val = $(this).parent().parent().prev("span").children("p").html();
			$(this).parents(".J_editTaskDiv").find(".J_subTaskName").val(sourc_val);
		});
		//删除任务
		$(".J_deleteTask").click(function(){
			if (confirm("确定删除吗？")){
				var taskid = $(this).attr("data-id");
		        $.post("/web/scrum/deltask",{taskid:taskid},function(data){
					if (data.status == 1){
						$("[id="+taskid+"]").remove();
						oprationMsg();
					}else{
					}
		        },"json");
			}
		});
		//拖拽
		$( "#J_sortTodo, #J_sortProgress, #J_sortVerify,#J_sortDone" ).sortable({
			connectWith: ".connectedSortable",
			placeholder: "task_placeholder",
			opacity: 0.5,
			stop:sortEnd
		});
		function sortEnd(){
			var todoIDs = $("#J_sortTodo").sortable( "toArray" );
			var progressIDs = $("#J_sortProgress").sortable( "toArray" );
			var verifyIDs = $("#J_sortVerify").sortable( "toArray" );
			var doneIDs = $("#J_sortDone").sortable( "toArray" );

	        $.post("/web/scrum/sortask",{todoIDs:todoIDs,progressIDs:progressIDs,verifyIDs:verifyIDs,doneIDs:doneIDs},function(data){
				if (data.status == 1){
				}else{
				}
	        },"json");
		}
		//操作成功提示
		function oprationMsg(){
			$("#message-box").fadeIn();
	    	$("#message-box").delay(800);
	    	$("#message-box").fadeOut();
		}
	}
	function _SprintList(){
		//显示冲刺列表
		var is_sprint_click = false;
		$(".J_sprint_list").click(function(){
			is_sprint_click = true;
			if ($(".J_sprint_view",$(this)).hasClass("d-hidden")){
				$(".J_sprint_view",$(this)).removeClass("d-hidden");
			}else{
				$(".J_sprint_view",$(this)).addClass("d-hidden");
			}
		});
		$(".J_sprint_list").live("mouseout",function(){
			is_sprint_click = false;
		});
		//点击其他地方 选择隐藏
		$(document).live("click",function(){
			//隐藏冲刺列表
			if (!is_sprint_click){
				is_sprint_click = true;
				$(".J_sprint_view").addClass("d-hidden");
			}
			//隐藏添加新冲刺
			if (!is_addsprint_click){
				is_addsprint_click = true;
				$(".J_addSprintDiv").addClass("d-hidden");
			}
	　　});
	}
	return {
		sprintList:_SprintList,
		init : function(){
		    $(document).ready(function(){
		 		_ScrumInit();
			});
		}
	}
})();